﻿using NewsCollection.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace NewsCollection.Common.UpdateGUI
{
    class UpdateTreeView
    {
        DataContext db = new DataContext("name=news");
        public void UpdateNode(TreeView tree)
        {
            tree.Nodes.Clear();
            var list = db.Categories.Where(m => m.CategoryManual == null && m.ParentCategory == null).ToList();
             for (int j = 0; j < list.Count(); j++)
             {
               
                     
                         TreeNode subNode = new TreeNode();
                         subNode.Text = list[j].sId;
                         subNode.Name = list[j].Id + "";
                         tree.Nodes.Add(subNode);
                     
             }
            //var listCate = db.Categories.Where(m => m.CategoryManual == null).ToList();
            //if (listCate != null)
            //    for (int i = 0; i < listCate.Count(); i++)
            //    {
            //        TreeNode node = new TreeNode();
            //        if (listCate[i].ParentCategory == null)
            //        {
            //            node.Text = listCate[i].sId;
            //            node.Name = listCate[i].Id + "";
            //            tree.Nodes.Add(node);

            //            for (int j = 0; j < listCate.Count(); j++)
            //            {
            //                if (listCate[j].ParentCategory != null)
            //                    if (listCate[j].ParentCategory == listCate[i])
            //                    {
            //                        TreeNode subNode = new TreeNode();
            //                        subNode.Text = listCate[j].sId;
            //                        subNode.Name = listCate[j].Id + "";
            //                        node.Nodes.Add(subNode);
            //                    }
            //            }
            //        }






            //    }
        }
        public void UpdateCateManual(TreeView tree)
        {
            tree.Nodes.Clear();
            var list = db.CategoryManual.Where(m=>m.ParentCategoryManual==null).ToList();
            if (list.Count() > 0)
                for (int i = 0; i < list.Count(); i++)
                {
                    int id = list[i].Id;
                    TreeNode node = new TreeNode();

                    node.Text = list[i].MyName;
                    node.Name = list[i].MyId;
                    tree.Nodes.Add(node);
                    var listCate = db.Categories.Where(m => m.CategoryManual != null && m.CategoryManual.MyId.Equals(node.Name)).ToList();
                    var listSubCateManual = db.CategoryManual.Where(m=>m.ParentCategoryManual.Id== id).ToList();
                    if (listCate.Count > 0)

                        for (int j = 0; j < listCate.Count(); j++)
                        {

                            TreeNode subNode = new TreeNode();
                            subNode.Text = listCate[j].sId;
                            subNode.Name = listCate[j].Id + "";
                            node.Nodes.Add(subNode);

                        }
                    if (listSubCateManual.Count > 0)
                    {
                        for (int j = 0; j < listSubCateManual.Count(); j++)
                        {
                           
                           
                                TreeNode subNode = new TreeNode();
                                subNode.Text = listSubCateManual[j].MyName;
                                subNode.Name = listSubCateManual[j].Id + "";
                                node.Nodes.Add(subNode);
                            
                          

                        }
                    }
                }
        }
    }
}
